package org.datastealer.service;

import org.datastealer.bean.Column;
import org.datastealer.bean.Table;

import java.util.List;
import java.util.Map;

/**
 * Note：
 *
 * @author ：mengjw
 * @description：数据库表服务接口
 * @date ：Created in 2020/8/22
 */
public interface TableService {

    /**
     * 获取Schema下的的全部表
     *
     * @param schemaName
     * @return
     */
    List<Table> getTablesBySchema(String schemaName);

    /**
     * 获取表的DDL建表语句
     *
     * @param schemaName
     * @param tableName
     * @return
     */
    String getTableDDL(String schemaName, String tableName);

    /**
     * 获取表的字段
     *
     * @param schemaName
     * @param tableName
     * @return
     */
    List<Column> getTableColumns(String schemaName, String tableName);

    /**
     * 分页获取表的数据
     *
     * @param schemaName
     * @param tableName
     * @param pageNum    当前页数
     * @param pageSize   每页大小
     * @return
     */
    List<Map<String, Object>> getDataByPage(String schemaName, String tableName, Integer pageNum, Integer pageSize);

}